{$CLEO .cm}
{$USE cleo+}
0000: 
animation_load "CRACK"
animation_load "BOMBER"
const
   Crane_tower = 62@
   Crane_head = 63@
   Crane_tower_animated_frame = 820@
   Crane_head_animated_frame = 821@
   NPC=900@          
   Failed_mission = 824@
   Big_target =  825@ 
   Player1_health = 826@
   Player2_health = 827@
end

:retry
Failed_mission=false
0247: load_model 281
0247: load_model 597
0247: load_model 578
0247: load_model 422
0247: load_model 456
0247: load_model 554
0247: load_model 486
0247: load_model 524
0247: load_model 1282
0247: load_model 1424
0247: load_model 1427
0247: load_model 1459
0247: load_model 1395
0247: load_model 1384
0247: load_model 3577
0247: load_model 3576
0247: load_model 3569
0247: load_model 16302
0247: load_model #COLT45
0247: load_model #CHROMEGUN
0247: load_model #WMYCON
0247: load_model #WMYCONB
0247: load_model #DESERT_EAGLE
0247: load_model #M4
0247: load_model #AK47
0247: load_model #SAWNOFF
0247: load_model #MP5LNG
0247: load_model #M4
0247: load_model #SWAT
0247: load_model 3395
0247: load_model 1654 
0247: load_model #TEC9
0247: load_model #LAPD1
0247: load_model 455
0247: load_model 1395
0247: load_model 1384
0247: load_model 16305
0247: load_model 971
0247: load_model 3577
0247: load_model 2990
0247: load_model 1337
0247: load_model 5154
0247: load_model 986
0247: load_model 2886
0247: load_model 1423
0247: load_model #WFYLG
038B: load_requested_models


   Crane_tower_animated_frame = 0
   Crane_head_animated_frame = 0
   
   
   //COMMON 
060A: create_decision_maker_type 2 store_to  310@ // decision\allowed\m_.ped files
07E6: copy_group_decision_maker  310@ to 311@
0395: clear_area 1 at  -630.1744 -4741.6382 10.9021  radius 999999.0

029B: 62@ = init_object 1395 at -586.23999 -4706.9102 42.76 // Crane tower
0453: set_object 62@ XY_rotation 0.0 0.0 angle 0.0
029B: 63@ = init_object 1384 at -586.10999 -4707.1699 95.08 // Crane head
0453: set_object 63@ XY_rotation 0.0 0.0 angle 310.0


90@=actor.Create(13, #LAPD1 , -630.1744, -4741.6382, 10.9021)
91@=actor.Create(13, #LAPD1 , -629.3704, -4746.1895, 10.9021)
92@=actor.Create(13, #LAPD1 ,-629.4224, -4749.6377, 10.9021 )
93@=actor.Create(13, #LAPD1 , -628.6103, -4752.127, 10.9021)
94@=actor.Create(13, #LAPD1 , -628.8469, -4755.3652, 10.9021)
95@=actor.Create(13, #LAPD1 , -629.7276, -4758.9624, 10.9021)
96@=actor.Create(13, #LAPD1 , -630.7155, -4762.0166, 10.9021)
97@=actor.Create(13, #LAPD1 , -629.0691, -4765.8784, 11.2105)
98@=actor.Create(13, #LAPD1 , -629.8032, -4768.6504, 11.2105)
99@=actor.Create(13, #LAPD1 , -618.5015, -4754.8979, 10.9021)
100@=actor.Create(13, #LAPD1 , -614.2696, -4743.4077, 10.9021)
actor.Angle(90@)=95.1332
actor.Angle(91@)=95.1332
actor.Angle(92@)=95.1332
actor.Angle(93@)=95.1332
actor.Angle(94@)=95.1332
actor.Angle(95@)=95.1332
actor.Angle(96@)=95.1332
actor.Angle(97@)=95.1332
actor.Angle(98@)=95.1332
actor.Angle(99@)=95.1332
actor.Angle(100@)=95.1332


101@ =actor.Create(13, #LAPD1 ,  -620.1528, -4719.8896, 11.2651)
actor.Angle(101@ ) =175.5535 
102@ =actor.Create(13, #LAPD1 , -627.1061, -4720.4805, 11.3513 )
actor.Angle(102@ ) =175.5535 
103@ =actor.Create(13, #LAPD1 , -624.0562, -4717.4414, 11.3587 )
actor.Angle(103@ ) =172.7334 
104@ =actor.Create(13, #LAPD1 , -631.1534, -4734.228, 11.208 )
actor.Angle(104@ ) = 97.3196
105@ =actor.Create(13, #LAPD1 ,-630.9117, -4729.8472, 11.208 )
actor.Angle(105@ ) = 80.8023
106@ =actor.Create(13, #LAPD1 ,  -632.3013, -4725.4331, 11.208)
actor.Angle(106@ ) = 84.8309
107@ =actor.Create(13, #LAPD1 , -631.3573, -4721.6069, 11.208 )
actor.Angle(107@ ) = 84.0252
108@ =actor.Create(13, #LAPD1 ,  -653.0392, -4748.1865, 10.9021)
actor.Angle(108@ ) = 101.3482
109@ =actor.Create(13, #LAPD1 ,-653.6105, -4755.9834, 10.9021  )
actor.Angle(109@ ) = 73.9537
110@ =actor.Create(13, #LAPD1 ,-659.8887, -4761.1699, 10.9021 )
actor.Angle(110@ ) = 86.4424
111@ =actor.Create(13, #LAPD1 ,-671.1257, -4761.2988, 10.9021  )
actor.Angle(111@ ) = 91.6795
112@ =actor.Create(13, #LAPD1 ,-739.2759, -4758.0869, 10.9021  )
actor.Angle(112@ ) = 78.3851
113@ =actor.Create(13, #LAPD1 , -739.2059, -4748.2358, 10.9021 )
actor.Angle(113@ ) = 83.6223 
114@ =actor.Create(13, #LAPD1 ,-683.2529, -4734.897, 11.208  )
actor.Angle(114@ ) =131.0816 
115@ =actor.Create(13, #LAPD1 , -667.6227, -4733.0034, 11.208 )
actor.Angle(115@ ) = 129.0673
116@ =actor.Create(13, #LAPD1 ,  -652.2835, -4726.1836, 11.208)
actor.Angle(116@ ) = 131.6463
 0085:  npc = 90@ // (int)
 gosub @set_4_cops
 0085:  npc = 91@ // (int)
 gosub @set_4_cops
 0085:  npc = 92@ // (int)
 gosub @set_4_cops
 0085:  npc = 93@ // (int)
 gosub @set_4_cops
 0085:  npc = 94@ // (int)
 gosub @set_4_cops
 0085:  npc = 95@ // (int)
 gosub @set_4_cops
 0085:  npc = 96@ // (int)
 gosub @set_4_cops
 0085:  npc = 97@ // (int)
 gosub @set_4_cops
 0085:  npc = 98@ // (int)
 gosub @set_4_cops
 0085:  npc = 99@ // (int)
 gosub @set_4_cops
 0085:  npc = 100@ // (int)
 gosub @set_4_cops
 0085:  npc = 101@ // (int)
 gosub @set_4_cops
 0085:  npc = 102@ // (int)
 gosub @set_4_cops
 0085:  npc = 103@ // (int)
 gosub @set_4_cops
 0085:  npc = 104@ // (int)
 gosub @set_4_cops
 0085:  npc = 105@ // (int)
 gosub @set_4_cops
 0085:  npc = 106@ // (int)
 gosub @set_4_cops
 0085:  npc = 107@ // (int)
 gosub @set_4_cops
 0085:  npc = 108@ // (int)
 gosub @set_4_cops
 0085:  npc = 109@ // (int)
 gosub @set_4_cops
 0085:  npc = 110@ // (int)
 gosub @set_4_cops
 0085:  npc = 111@ // (int)
 gosub @set_4_cops
 0085:  npc = 112@ // (int)
 gosub @set_4_cops
 0085:  npc = 113@ // (int)
 gosub @set_4_cops
 0085:  npc = 114@ // (int)
 gosub @set_4_cops
 0085:  npc = 115@ // (int)
 gosub @set_4_cops
 0085:  npc = 116@ // (int)
 gosub @set_4_cops 
 
object.ToggleInMovingList(crane_head,1)
object.ToggleInMovingList( crane_tower,1)


120@ = ACTOR.Create(13, #WMYCON ,  -602.5234, -4712.2192, 11.2305)
ACTOR.Angle(120@) =130.836 
0085:  npc = 120@ // (int)
gosub @set_4_construction_enemies
120@ = ACTOR.Create(13, #WMYCON ,-588.5704, -4717.811, 11.2305  )
ACTOR.Angle(120@) =110.29 
0085:  npc = 120@ // (int)
gosub @set_4_construction_enemies
120@ = ACTOR.Create(13, #WMYCONb ,-571.8174, -4703.5869, 11.1788  )
ACTOR.Angle(120@) = 149.3672
0085:  npc = 120@ // (int)
gosub @set_4_construction_enemies
120@ = ACTOR.Create(13, #WMYCONb ,-569.8918, -4686.271, 11.7108  )
ACTOR.Angle(120@) = 154.6044
0085:  npc = 120@ // (int)
gosub @set_4_construction_enemies
120@ = ACTOR.Create(13, #WMYCON , -585.9442, -4681.1553, 11.2087 )
ACTOR.Angle(120@) = 219.7059
0085:  npc = 120@ // (int)
gosub @set_4_construction_enemies
120@ = ACTOR.Create(13, #WMYCONb , -600.7483, -4673.001, 20.4512 )
ACTOR.Angle(120@) = 133.2112
0085:  npc = 120@ // (int)
gosub @set_4_construction_enemies
120@ = ACTOR.Create(13, #WMYCONb ,  -555.3339, -4673.5044, 20.0742)
ACTOR.Angle(120@) = 159.1936
0085:  npc = 120@ // (int)
gosub @set_4_construction_enemies
120@ = ACTOR.Create(13, #WMYCONb , -552.3391, -4692.3804, 15.9769 )
ACTOR.Angle(120@) = 102.955
0085:  npc = 120@ // (int)
gosub @set_4_construction_snipers
120@ = ACTOR.Create(13, #WMYCONb ,  -552.3104, -4717.1152, 17.4046)
ACTOR.Angle(120@) = 103.5356
0085:  npc = 120@ // (int)
gosub @set_4_construction_snipers
120@ = ACTOR.Create(13, #WMYCONb ,  -533.1899, -4762.8931, 16.7914)
ACTOR.Angle(120@) = 61.5777
0085:  npc = 120@ // (int)
gosub @set_4_construction_snipers
 
120@ = ACTOR.Create(13, #WMYCON ,-622.0649, -4636.9756, 3.9605 )
ACTOR.Angle(120@) = 182.4091 
0085:  npc = 120@ // (int)
gosub @set_4_construction_enemies
 
120@ = ACTOR.Create(13, #WMYCON ,-621.8167, -4652.8301, 3.9605 )
ACTOR.Angle(120@) = 183.2937 
0085:  npc = 120@ // (int)
gosub @set_4_construction_enemies
 
120@ = ACTOR.Create(13, #WMYCON ,-586.4854, -4664.5376, 3.9959)
ACTOR.Angle(120@) =87.0887  
0085:  npc = 120@ // (int)
gosub @set_4_construction_enemies
 
120@ = ACTOR.Create(13, #WMYCON , -568.4172, -4658.5845, 3.9959)
ACTOR.Angle(120@) = 106.0232 
0085:  npc = 120@ // (int)
gosub @set_4_construction_enemies
 
120@ = ACTOR.Create(13, #WMYCON ,-539.0803, -4663.0176, 3.9959 )
ACTOR.Angle(120@) = 100.3832 
0085:  npc = 120@ // (int)
gosub @set_4_construction_enemies
 
120@ = ACTOR.Create(13, #WMYCON ,-492.8788, -4672.3789, 3.9959 )
ACTOR.Angle(120@) =  20.6167
0085:  npc = 120@ // (int)
gosub @set_4_construction_enemies
 
120@ = ACTOR.Create(13, #WMYCON , -498.9976, -4671.2461, 3.9959)
ACTOR.Angle(120@) = 330.421 
0085:  npc = 120@ // (int)
gosub @set_4_construction_enemies
 
120@ = ACTOR.Create(13, #WMYCON , -498.6754, -4615.9858, 3.9959)
ACTOR.Angle(120@) = 189.6606 
0085:  npc = 120@ // (int)
gosub @set_4_construction_enemies
 
120@ = ACTOR.Create(13, #WMYCON ,-496.0169, -4591.0132, 3.9959 )
ACTOR.Angle(120@) =  172.6616
0085:  npc = 120@ // (int)
gosub @set_4_construction_enemies
 
120@ = ACTOR.Create(13, #WMYCON , -499.4806, -4555.8154, 3.9959)
ACTOR.Angle(120@) =206.9836  
0085:  npc = 120@ // (int)
gosub @set_4_construction_enemies
 
120@ = ACTOR.Create(13, #WMYCON ,-502.4557, -4525.5708, 3.9959 )
ACTOR.Angle(120@) =  225.5152
0085:  npc = 120@ // (int)
gosub @set_4_construction_enemies
 
120@ = ACTOR.Create(13, #WMYCON ,-517.8407, -4521.8179, 3.9959 )
ACTOR.Angle(120@) = 269.8299 
0085:  npc = 120@ // (int)
gosub @set_4_construction_enemies
 
120@ = ACTOR.Create(13, #WMYCON ,-537.1985, -4529.5547, 3.9959 )
ACTOR.Angle(120@) = 269.8299 
0085:  npc = 120@ // (int)
gosub @set_4_construction_enemies
 
120@ = ACTOR.Create(13, #WMYCON , -544.188, -4554.0527, 3.9959)
ACTOR.Angle(120@) = 299.2388 
0085:  npc = 120@ // (int)
gosub @set_4_construction_enemies
 
120@ = ACTOR.Create(13, #WMYCON , -582.5441, -4530.1851, 3.9959)
ACTOR.Angle(120@) = 281.6749 
0085:  npc = 120@ // (int)
gosub @set_4_construction_enemies
 
120@ = ACTOR.Create(13, #WMYCON , -566.8681, -4500.9233, 3.9959)
ACTOR.Angle(120@) =  275.3912
0085:  npc = 120@ // (int)
gosub @set_4_construction_enemies
 
120@ = ACTOR.Create(13, #WMYCON , -538.6144, -4496.5972, 3.9959)
ACTOR.Angle(120@) =  180.5568
0085:  npc = 120@ // (int)
gosub @set_4_construction_enemies
 
120@ = ACTOR.Create(13, #WMYCON , -535.7758, -4470.4121, 3.9959)
ACTOR.Angle(120@) = 126.0086 
0085:  npc = 120@ // (int)
gosub @set_4_construction_enemies
 
120@ = ACTOR.Create(13, #WMYCON , -516.7313, -4481.5962, 3.9959)
ACTOR.Angle(120@) =  8.7761
0085:  npc = 120@ // (int)
gosub @set_4_construction_enemies
  
00A5: 5@ = create_car 597 at -628.28003 -4717.71 11.23 // vehicle (Police SF) (1)
0175: set_car 5@ Z_angle_to 290.0
00A5: 6@ = create_car 597 at -617.91998 -4718.3198 11.19 // vehicle (Police SF) (2)
0175: set_car 6@ Z_angle_to 79.991
00A5: 7@ = create_car 597 at -632.22998 -4742.3198 10.77 // vehicle (Police SF) (3)
0175: set_car 7@ Z_angle_to 19.986
00A5: 8@ = create_car 597 at -631.87 -4748.2598 10.77 // vehicle (Police SF) (4)
0175: set_car 8@ Z_angle_to 349.984
00A5: 9@ = create_car 597 at -630.59003 -4754.3398 10.77 // vehicle (Police SF) (5)
0175: set_car 9@ Z_angle_to 359.98
00A5: 10@ = create_car 597 at -632.63 -4760.4399 10.77 // vehicle (Police SF) (6)
0175: set_car 10@ Z_angle_to 349.978
00A5: 11@ = create_car 597 at -679.69 -4740.1802 10.77 // vehicle (Police SF) (7)
0175: set_car 11@ Z_angle_to 269.984
00A5: 12@ = create_car 597 at -672.88 -4740.04 10.77 // vehicle (Police SF) (8)
0175: set_car 12@ Z_angle_to 269.984
00A5: 13@ = create_car 597 at -672.58002 -4763.6899 10.77 // vehicle (Police SF) (9)
0175: set_car 13@ Z_angle_to 269.984
00A5: 14@ = create_car 597 at -666.53003 -4763.73 10.77 // vehicle (Police SF) (10)
0175: set_car 14@ Z_angle_to 269.984
00A5: 15@ = create_car 597 at -658.76001 -4763.3599 10.77 // vehicle (Police SF) (11)
0175: set_car 15@ Z_angle_to 269.984
00A5: 16@ = create_car 597 at -653.81 -4751.3901 10.77 // vehicle (Police SF) (12)
0175: set_car 16@ Z_angle_to 309.984
00A5: 17@ = create_car 597 at -671.17999 -4747.3301 10.77 // vehicle (Police SF) (13)
0175: set_car 17@ Z_angle_to 279.979
00A5: 18@ = create_car 597 at -742.72998 -4745.96 10.77 // vehicle (Police SF) (14)
0175: set_car 18@ Z_angle_to 179.976
00A5: 19@ = create_car 597 at -741.17999 -4754.8101 10.77 // vehicle (Police SF) (15)
0175: set_car 19@ Z_angle_to 179.967
00A5: 20@ = create_car 578 at -611.21002 -4740.5 11.65 // vehicle (DFT-30) (1)
0175: set_car 20@ Z_angle_to 270.0
00A5: 21@ = create_car 578 at -582.54999 -4740.3799 11.65 // vehicle (DFT-30) (2)
0175: set_car 21@ Z_angle_to 270.0
00A5: 22@ = create_car 578 at -587.37 -4752.1699 11.65 // vehicle (DFT-30) (3)
0175: set_car 22@ Z_angle_to 330.0
00A5: 23@ = create_car 422 at -606.97998 -4763.1401 10.98 // vehicle (Bobcat) (1)
0175: set_car 23@ Z_angle_to 270.0
00A5: 24@ = create_car 422 at -618.77002 -4763.3901 10.98 // vehicle (Bobcat) (2)
0175: set_car 24@ Z_angle_to 270.0
00A5: 25@ = create_car 456 at -621.87 -4753.9199 11.15 // vehicle (Yankee) (1)
0175: set_car 25@ Z_angle_to 310.0
00A5: 26@ = create_car 456 at -648.29999 -4741.3599 11.15 // vehicle (Yankee) (2)
0175: set_car 26@ Z_angle_to 269.996
00A5: 27@ = create_car 456 at -640.54999 -4763.48 11.15 // vehicle (Yankee) (3)
0175: set_car 27@ Z_angle_to 269.995
00A5: 28@ = create_car 554 at -554.33002 -4741.8198 11.1 // vehicle (Yosemite) (1)
0175: set_car 28@ Z_angle_to 80.0
00A5: 29@ = create_car 554 at -563.78003 -4740.5298 11.1 // vehicle (Yosemite) (2)
0175: set_car 29@ Z_angle_to 89.995
00A5: 30@ = create_car 554 at -573.25 -4721.3398 11.43 // vehicle (Yosemite) (3)
0175: set_car 30@ Z_angle_to 9.995
00A5: 31@ = create_car 554 at -569.84003 -4693.1401 11.37 // vehicle (Yosemite) (4)
0175: set_car 31@ Z_angle_to 39.992
00A5: 34@ = create_car 486 at -594.79999 -4732.79 11.53 // vehicle (Dozer) (1)
0175: set_car 34@ Z_angle_to 340.0
00A5: 35@ = create_car 486 at -569.56 -4749.96 11.2 // vehicle (Dozer) (2)
0175: set_car 35@ Z_angle_to 79.999
00A5: 36@ = create_car 524 at -545.15997 -4745.9399 11.96 // vehicle (Cement Truck) (1)
0175: set_car 36@ Z_angle_to 320.0
00A5: 37@ = create_car 524 at -587.58002 -4688.3301 12.26 // vehicle (Cement Truck) (2)
0175: set_car 37@ Z_angle_to 319.999
00A5: 38@ = create_car 524 at -599.45001 -4719.7002 12.28 // vehicle (Cement Truck) (3)
0175: set_car 38@ Z_angle_to 349.999

029B: 39@ = init_object 1282 at -617.48999 -4715.1001 11.01 // object (Barrierm) (1)
0453: set_object 39@ XY_rotation 0.0 0.0 angle 270.0
029B: 40@ = init_object 1282 at -620.31 -4715.1201 11.01 // object (Barrierm) (2)
0453: set_object 40@ XY_rotation 0.0 0.0 angle 270.0
029B: 41@ = init_object 1282 at -622.56 -4715.1201 11.0 // object (Barrierm) (3)
0453: set_object 41@ XY_rotation 0.0 0.0 angle 270.0
029B: 42@ = init_object 1282 at -624.81 -4715.1602 11.01 // object (Barrierm) (4)
0453: set_object 42@ XY_rotation 0.0 0.0 angle 270.0
029B: 43@ = init_object 1282 at -627.88 -4715.21 11.01 // object (Barrierm) (5)
0453: set_object 43@ XY_rotation 0.0 0.0 angle 270.0
029B: 44@ = init_object 1424 at -632.94 -4717.1602 10.72 // object (DYN_ROADBARRIER_2) (1)
0453: set_object 44@ XY_rotation 0.0 0.0 angle 270.0
029B: 45@ = init_object 1424 at -632.88 -4719.54 10.72 // object (DYN_ROADBARRIER_2) (2)
0453: set_object 45@ XY_rotation 0.0 0.0 angle 270.0
029B: 46@ = init_object 1424 at -632.95001 -4722.1001 10.72 // object (DYN_ROADBARRIER_2) (3)
0453: set_object 46@ XY_rotation 0.0 0.0 angle 270.0
029B: 47@ = init_object 1424 at -632.95001 -4724.8501 10.72 // object (DYN_ROADBARRIER_2) (4)
0453: set_object 47@ XY_rotation 0.0 0.0 angle 270.0
029B: 48@ = init_object 1424 at -632.95001 -4727.5498 10.72 // object (DYN_ROADBARRIER_2) (5)
0453: set_object 48@ XY_rotation 0.0 0.0 angle 270.0
029B: 49@ = init_object 1424 at -632.95001 -4730.2998 10.72 // object (DYN_ROADBARRIER_2) (6)
0453: set_object 49@ XY_rotation 0.0 0.0 angle 270.0
029B: 50@ = init_object 1424 at -632.95001 -4733.0498 10.72 // object (DYN_ROADBARRIER_2) (7)
0453: set_object 50@ XY_rotation 0.0 0.0 angle 270.0
029B: 51@ = init_object 1424 at -632.95001 -4735.7998 10.72 // object (DYN_ROADBARRIER_2) (8)
0453: set_object 51@ XY_rotation 0.0 0.0 angle 270.0
029B: 52@ = init_object 1427 at -743.09998 -4741.0601 10.45 // object (CJ_ROADBARRIER) (1)
0453: set_object 52@ XY_rotation 0.0 0.0 angle 290.0
029B: 53@ = init_object 1427 at -741.42999 -4751.3999 10.45 // object (CJ_ROADBARRIER) (2)
0453: set_object 53@ XY_rotation 0.0 0.0 angle 279.995
029B: 54@ = init_object 1427 at -741.71997 -4749.7998 10.45 // object (CJ_ROADBARRIER) (3)
0453: set_object 54@ XY_rotation 0.0 0.0 angle 259.992
029B: 55@ = init_object 1427 at -741.13 -4758.6201 10.45 // object (CJ_ROADBARRIER) (4)
0453: set_object 55@ XY_rotation 0.0 0.0 angle 279.991
029B: 56@ = init_object 1427 at -741.06 -4759.8398 10.45 // object (CJ_ROADBARRIER) (5)
0453: set_object 56@ XY_rotation 0.0 0.0 angle 269.987
029B: 57@ = init_object 1427 at -740.71997 -4763.27 10.45 // object (CJ_ROADBARRIER) (6)
0453: set_object 57@ XY_rotation 0.0 0.0 angle 279.984
029B: 58@ = init_object 1427 at -740.48999 -4761.5 10.45 // object (CJ_ROADBARRIER) (7)
0453: set_object 58@ XY_rotation 0.0 0.0 angle 269.981
029B: 59@ = init_object 1459 at -633.26001 -4766.1001 10.82 // object (DYN_ROADBARRIER_6) (8)
0453: set_object 59@ XY_rotation 0.0 0.0 angle 270.0
029B: 60@ = init_object 1459 at -633.88 -4768.8999 10.82 // object (DYN_ROADBARRIER_6) (9)
0453: set_object 60@ XY_rotation 0.0 0.0 angle 270.0
029B: 61@ = init_object 1459 at -633.53003 -4772.0801 10.82 // object (DYN_ROADBARRIER_6) (10)
0453: set_object 61@ XY_rotation 0.0 0.0 angle 270.0

029B: 64@ = init_object 3577 at -615.31 -4740.4399 12.21 // object (DockCrates1_LA) (66)
0453: set_object 64@ XY_rotation 0.0 0.0 angle 0.0
029B: 65@ = init_object 3577 at -611.84003 -4740.4399 12.21 // object (DockCrates1_LA) (88)
0453: set_object 65@ XY_rotation 0.0 0.0 angle 0.0
029B: 66@ = init_object 3577 at -582.03003 -4740.4399 12.21 // object (DockCrates1_LA) (95)
0453: set_object 66@ XY_rotation 0.0 0.0 angle 0.0
029B: 67@ = init_object 3577 at -585.33002 -4740.4399 12.21 // object (DockCrates1_LA) (101)
0453: set_object 67@ XY_rotation 0.0 0.0 angle 0.0
029B: 68@ = init_object 3577 at -587.17999 -4751.52 12.21 // object (DockCrates1_LA) (103)
0453: set_object 68@ XY_rotation 0.0 0.0 angle 330.0
029B: 69@ = init_object 3577 at -588.83002 -4754.1401 12.21 // object (DockCrates1_LA) (104)
0453: set_object 69@ XY_rotation 0.0 0.0 angle 329.996
029B: 70@ = init_object 3576 at -608.16998 -4750.2402 11.39 // object (DockCrates2_LA) (26)
0453: set_object 70@ XY_rotation 0.0 0.0 angle 0.0
029B: 71@ = init_object 3576 at -598.21002 -4762.46 11.39 // object (DockCrates2_LA) (27)
0453: set_object 71@ XY_rotation 0.0 0.0 angle 270.0
029B: 72@ = init_object 3576 at -608.71997 -4719.6201 11.75 // object (DockCrates2_LA) (30)
0453: set_object 72@ XY_rotation 0.0 0.0 angle 270.0
029B: 73@ = init_object 3576 at -611.82001 -4731.48 11.72 // object (DockCrates2_LA) (31)
0453: set_object 73@ XY_rotation 0.0 0.0 angle 180.0
029B: 74@ = init_object 3569 at -602.85999 -4700.4902 12.49 // object (lasntrk3) (15)
0453: set_object 74@ XY_rotation 0.0 0.0 angle 190.0
029B: 75@ = init_object 3569 at -551.72998 -4716.3799 12.49 // object (lasntrk3) (16)
0453: set_object 75@ XY_rotation 0.0 0.0 angle 359.998
029B: 76@ = init_object 3569 at -551.72998 -4692.29 12.49 // object (lasntrk3) (17)
0453: set_object 76@ XY_rotation 0.0 0.0 angle 359.995
029B: 77@ = init_object 3569 at -526.89001 -4747.9199 12.24 // object (lasntrk3) (18)
0453: set_object 77@ XY_rotation 0.0 0.0 angle 359.995
029B: 78@ = init_object 3569 at -534.65997 -4762.8101 12.24 // object (lasntrk3) (19)
0453: set_object 78@ XY_rotation 0.0 0.0 angle 139.995
029B: 79@ = init_object 3569 at -555.0 -4763.3101 12.24 // object (lasntrk3) (20)
0453: set_object 79@ XY_rotation 0.0 0.0 angle 89.993
029B: 80@ = init_object 3569 at -573.62 -4763.3101 12.24 // object (lasntrk3) (21)
0453: set_object 80@ XY_rotation 0.0 0.0 angle 89.989
029B: 81@ = init_object 16302 at -514.46002 -4718.2202 16.34 // object (des_gravelpile04) (33)
0453: set_object 81@ XY_rotation 0.0 0.0 angle 0.0
029B: 82@ = init_object 16302 at -559.19 -4673.9902 16.34 // object (des_gravelpile04) (34)
0453: set_object 82@ XY_rotation 0.0 0.0 angle 0.0
029B: 83@ = init_object 16302 at -600.40002 -4669.5601 16.34 // object (des_gravelpile04) (35)
0453: set_object 83@ XY_rotation 0.0 0.0 angle 0.0
029B: 84@ = init_object 1424 at -633.06 -4674.54 10.77 // object (DYN_ROADBARRIER_2) (10)
0453: set_object 84@ XY_rotation 0.0 0.0 angle 270.0
029B: 85@ = init_object 1424 at -633.06 -4671.54 10.77 // object (DYN_ROADBARRIER_2) (11)
0453: set_object 85@ XY_rotation 0.0 0.0 angle 270.0
029B: 86@ = init_object 1424 at -633.06 -4669.0698 10.77 // object (DYN_ROADBARRIER_2) (12)
0453: set_object 86@ XY_rotation 0.0 0.0 angle 270.0
029B: 87@ = init_object 1424 at -633.06 -4666.3198 10.77 // object (DYN_ROADBARRIER_2) (13)
0453: set_object 87@ XY_rotation 0.0 0.0 angle 270.0

0249: release_model 281
0249: release_model 597
0249: release_model 578
0249: release_model 422
0249: release_model 456
0249: release_model 554
0249: release_model 486
0249: release_model 524
0249: release_model 1282
0249: release_model 1424
0249: release_model 1427
0249: release_model 1459
0249: release_model 1395
0249: release_model 1384
0249: release_model 3577
0249: release_model 3576
0249: release_model 3569
0249: release_model 16302
//015F: set_camera_position   rotation 0.0 0.0 0.0
//0160: set_camera_point_at   switchstyle 2

0936: set_camera -767.2751 -4750.2197 13.5719  position_to -665.9495 -4753.2295 14.5796  time 4000 smooth_transition 1
0920: point_camera -737.6781 -4750.251 12.8538 transverse_to -631.4061 -4742.6309 13.0616 time 4000 smooth_transition 1
show_text_highpriority "Construction worker are armed with guns, you must figure how to blow this crane down." 4000
wait 4000
0936: set_camera  -627.0771 -4739.4922 12.8731  position_to   -588.629 -4744.2607 125.2131  time 4000 smooth_transition 1
0920: point_camera -589.719 -4709.2759 86.321 transverse_to  -584.0255 -4708.5771 106.304  time 4000 smooth_transition 1
show_text_highpriority "Avoid being killed by cops and workers they hate trespassers. BEWARE!" 4000
wait 4000
0936: set_camera  -502.8876 -4750.4438 154.7688  position_to  -751.0737 -4751.9116 15.5426 time 2000 smooth_transition 1
0920: point_camera -566.022 -4731.2988 77.3522 transverse_to  -776.0084 -4754.2905 12.5889 time 2000 smooth_transition 1
0362: remove_actor $PLAYER_ACTOR from_car_and_place_at -770.2083 -4751.0562 10.9021
actor.Angle( $PLAYER_ACTOR ) = 272.5343
if coop 
then
0362: remove_actor player2 from_car_and_place_at  -769.6716 -4753.0156 10.9021
actor.Angle( player2  ) = 272.5343

end 
wait 2000
camera.Restore_WithJumpCut()
   Crane_tower_animated_frame = 0
   Crane_head_animated_frame = 0
   
const
    PC = 200@
    dynamite_construction_area = 201@ 
    dynamite_bunker = 202@ 
    founded = 203@
    waypoint_marker = 204@ 
end 
   founded = 0 
   show_text_box "Find a way to take that crane down."
029B: PC = init_object 3395 at -591.06 -4707.23 10.23 // PC
0453: set_object PC XY_rotation 0.0 0.0 angle 0.0
029B: dynamite_bunker = init_object 1654 at -517.71002 -4502.8198 3.31 // object (dynamite) (1) found!
0453: set_object dynamite_bunker XY_rotation 0.0 0.0 angle 110.0

0249: release_model 3395
018A: waypoint_marker = create_checkpoint_at  -517.4261 -4502.0532 3.9959

while true 
wait 0            
gosub @Mission   
if Failed_mission == true
then
    Goto @Retry 
end
    if founded == 1 
     then
         if 00FE:   actor $PLAYER_ACTOR sphere 1 in_sphere  -592.8253 -4707.4956 11.2305 radius 2.0 2.0 2.0
         then
             founded = 2
                029B: dynamite_construction_area = init_object 1654 at -591.53003 -4708.6899 11.44 // object (dynamite) in construction spot
                0453: set_object dynamite_construction_area XY_rotation 0.0 0.0 angle 310.0
                0812: AS_actor $PLAYER_ACTOR perform_animation "BOM_Plant" IFP "BOMBER" framedelta 4.0 loopA 0 lockX 0 lockY 0 lockF 0 time -1  // versionB
                32@ = 0   
                 show_text_box "Bomb planted."
                 marker.Disable(waypoint_marker)
                 0249: release_model 1654   

         end      
     else 
     
         if 00FE:   actor $PLAYER_ACTOR sphere 1 in_sphere  -517.4261 -4502.0532 3.9959 radius 2.0 2.0 2.0
         then
             founded =1 
             marker.Disable(waypoint_marker)
              show_text_box "Go plant this by the crane."
             //new checkpoint
             018A: waypoint_marker = create_checkpoint_at  -592.8253 -4707.4956 11.2305
             0812: AS_actor $PLAYER_ACTOR perform_animation "BOM_Plant" IFP "BOMBER" framedelta 4.0 loopA 0 lockX 0 lockY 0 lockF 0 time -1  // versionB

             object.Destroy(dynamite_bunker) 
         end 
     
     end 
     
     if and 
        founded==2
        32@ > 6000
     then
       0948: create_explosion_at -588.2261 -4706.814 97.914 type 7 camera_shake 5.0
        founded=3
        32@=0 
        break 
     end 

         
            
end


015F: set_camera_position -596.7257 -4691.396 30.0397  rotation 0.0 0.0 0.0
0160: set_camera_point_at -584.3304 -4708.8564 103.0218  switchstyle 2

:Break_crane
wait 0 
gosub @Mission 
if Failed_mission == true
then
    Goto @Retry 
end 
         034D: rotate_object crane_head from_angle 80.0 to_angle 280.0 flag 0
         034E: move_object crane_head to -569.3112 -4707.5757 -33.7078  speed 0.8 0.8  1.2 collision_check 0
{
     if Crane_tower_animated_frame==0 
     then
    
         034D: rotate_object crane_head from_angle 80.0 to_angle 280.0 flag 0
         if  034E: move_object crane_head to -564.3596 -4704.4897 108.3106  speed 0.2 0.2 0.2 collision_check 0
         then
            Crane_tower_animated_frame+=1 
            
         end
     end
     if Crane_tower_animated_frame==1 
     then
         if  034E: move_object crane_head to  -516.0331 -4690.4829 21.2196 speed 0.4 0.4 0.4 collision_check 0
         then
            Crane_tower_animated_frame+=1 
         end
     end
     if Crane_tower_animated_frame==2 
     then
         if  034E: move_object crane_head to -516.643 -4678.9941 -50.1709  speed 0.5 0.5 0.5 collision_check 0
         then
            Crane_tower_animated_frame+=1 
         end
     end   }
     if 
       32@ > 2000  
     then
        camera.Restore_WithJumpCut()
        
     end
     if   32@ > 6000  
     
     then
         fade 0 1000
         wait 1000
         fade 1 1000
         mission_cleanup
         0395: clear_area 1 at -563.0143 -4670.0352 11.1788 radius 9999999.0
        fade 0 1000
        wait 1000
        fade 1 1000
         jump @checkpoint_2
     end 
jump @Break_crane

:checkpoint_2
 show_text_box "Get to the mall and find Big Smoke"
failed_mission = 0  
0362: remove_actor $PLAYER_ACTOR from_car_and_place_at  -497.6197 -4749.6743 10.9021
actor.Angle( $PLAYER_ACTOR ) = 272.1024
if coop 
then
0362: remove_actor player2 from_car_and_place_at   -495.7577 -4752.1069 10.9021
actor.Angle( player2  ) =  272.1024

end 
029B: 37@ = init_object 986 at -438.35999 -4532.5 11.78 // open switrcgh gate
0453: set_object 37@ XY_rotation 0.0 0.0 angle 270.0
029B: 38@ = init_object 2886 at -440.20001 -4529.0801 11.53 // object (sec_keypad) (35) switch first
0453: set_object 38@ XY_rotation 0.0 0.0 angle 270.0
//Checkpoint 2 

120@ = ACTOR.Create(13, #WMYCONb , -426.3021, -4692.5981, 11.1788 )
ACTOR.Angle(120@) = 176.8645
0085:  npc = 120@ // (int)
05E2: AS_actor 120@ kill_actor player1
gosub @set_4_construction_enemies_rundown
120@ = ACTOR.Create(13, #WMYCONb , -422.2787, -4697.6133, 11.1788 )
ACTOR.Angle(120@) = 182.1017
0085:  npc = 120@ // (int)
05E2: AS_actor 120@ kill_actor player1
gosub @set_4_construction_enemies_rundown
120@ = ACTOR.Create(13, #WMYCONb ,  -421.0998, -4702.1689, 11.1788)
ACTOR.Angle(120@) = 174.0444
0085:  npc = 120@ // (int)
05E2: AS_actor 120@ kill_actor player1
gosub @set_4_construction_enemies_rundown
120@ = ACTOR.Create(13, #WMYCONb ,-425.1812, -4703.8691, 11.1788  )
ACTOR.Angle(120@) = 180.8931
0085:  npc = 120@ // (int)
05E2: AS_actor 120@ kill_actor player1
gosub @set_4_construction_enemies_rundown
120@ = ACTOR.Create(13, #WMYCONb ,  -423.8997, -4708.4355, 11.2105)
ACTOR.Angle(120@) = 180.8931
0085:  npc = 120@ // (int)
05E2: AS_actor 120@ kill_actor player1
gosub @set_4_construction_enemies_rundown

00A5: 1@ = create_car 455 at -454.20001 -4741.6602 11.48 // vehicle (Flatbed) (1)
0175: set_car 1@ Z_angle_to 270.0
00A5: 2@ = create_car 455 at -440.14999 -4741.4102 11.5 // vehicle (Flatbed) (2)
0175: set_car 2@ Z_angle_to 270.0 

029B: 3@ = init_object 1395 at -582.84003 -4690.96 36.01 // object (TwrCrane_L_03) (4) Chapter 2
0453: set_object 3@ XY_rotation 330.0 0.0 angle 346.0
029B: 4@ = init_object 1384 at -560.04999 -4706.75 10.44 // object (TwrCrane_M_01) (3)
0453: set_object 4@ XY_rotation 359.582 275.985 angle 206.018
029B: 5@ = init_object 16305 at -583.45001 -4704.8901 15.04 // object (des_gravelpile06) (122)
0453: set_object 5@ XY_rotation 0.0 0.0 angle 0.0
029B: 6@ = init_object 16305 at -576.45001 -4667.0801 80.84 // object (des_gravelpile06) (123)
0453: set_object 6@ XY_rotation 86.0 0.0 angle 0.0
029B: 7@ = init_object 16305 at -546.94 -4725.2598 12.79 // object (des_gravelpile06) (124)
0453: set_object 7@ XY_rotation 0.0 0.0 angle 0.0
029B: 8@ = init_object 16305 at -534.73999 -4758.52 13.54 // object (des_gravelpile06) (125)
0453: set_object 8@ XY_rotation 0.0 0.0 angle 0.0
029B: 9@ = init_object 16305 at -536.96002 -4738.8799 12.29 // object (des_gravelpile06) (126)
0453: set_object 9@ XY_rotation 0.0 0.0 angle 0.0
029B: 10@ = init_object 16305 at -551.84998 -4712.54 11.79 // object (des_gravelpile06) (127)
0453: set_object 10@ XY_rotation 0.0 0.0 angle 0.0
029B: 11@ = init_object 16305 at -553.96997 -4698.8198 13.04 // object (des_gravelpile06) (128)
0453: set_object 11@ XY_rotation 0.0 0.0 angle 0.0


018A: waypoint_marker = create_checkpoint_at -423.7673 -4718.708 11.14

failed_mission = 0 
while true 
wait 0 
    gosub @mission
    if   failed_mission == 1 
    then
         jump @checkpoint_2
    end 
    if 
      00FE:   actor $PLAYER_ACTOR sphere 0 in_sphere  -423.7673 -4718.708 11.14 radius 15.0 15.0 15.0

    then 
        marker.Disable(waypoint_marker)
        break 
    end 
end 
failed_mission = 0 
120@ = ACTOR.Create(13, #WMYCON ,-440.6232, -4654.4717, 11.1788 )
ACTOR.Angle(120@) = 264.2064
0085:  npc = 120@ // (int)
05E2: AS_actor 120@ kill_actor player1
gosub @set_4_construction_enemies_rundown
120@ = ACTOR.Create(13, #WMYCONb , -464.3368, -4651.9917, 11.1788)
ACTOR.Angle(120@) = 264.2064
0085:  npc = 120@ // (int)
05E2: AS_actor 120@ kill_actor player1
gosub @set_4_construction_enemies_rundown
120@ = ACTOR.Create(13, #WMYCONb ,-478.5789, -4637.5557, 11.1788 )
ACTOR.Angle(120@) = 184.0371
0085:  npc = 120@ // (int)
05E2: AS_actor 120@ kill_actor player1
gosub @set_4_construction_enemies_rundown
120@ = ACTOR.Create(13, #WMYCON , -463.2487, -4608.9917, 11.14)
ACTOR.Angle(120@) = 85.3362
0085:  npc = 120@ // (int)
05E2: AS_actor 120@ kill_actor player1
gosub @set_4_construction_enemies_rundown
120@ = ACTOR.Create(13, #WMYCON , -462.7075, -4621.9448, 11.14)
ACTOR.Angle(120@) = 92.5089
05E2: AS_actor 120@ kill_actor player1


0085:  npc = 120@ // (int)
05E2: AS_actor 120@ kill_actor player1
gosub @set_4_construction_enemies_rundown
120@ = ACTOR.Create(13, #WMYCON , -483.3255, -4575.1719, 11.14)
ACTOR.Angle(120@) = 180.2161
0085:  npc = 120@ // (int)
05E2: AS_actor 120@ kill_actor player1
gosub @set_4_construction_enemies_rundown
120@ = ACTOR.Create(13, #WMYCONb , -478.3408, -4569.5376, 11.14)
ACTOR.Angle(120@) = 179.6219
0085:  npc = 120@ // (int)
05E2: AS_actor 120@ kill_actor player1
gosub @set_4_construction_enemies_rundown
120@ = ACTOR.Create(13, #WMYCONb ,-483.7347, -4557.7212, 11.14 )
ACTOR.Angle(120@) = 186.3085
0085:  npc = 120@ // (int)
05E2: AS_actor 120@ kill_actor player1
gosub @set_4_construction_enemies_rundown
120@ = ACTOR.Create(13, #WMYCON ,-475.9609, -4519.4966, 12.6354 )
ACTOR.Angle(120@) = 173.417
0085:  npc = 120@ // (int)
05E2: AS_actor 120@ kill_actor player1
gosub @set_4_construction_enemies_rundown
120@ = ACTOR.Create(13, #WMYCON ,-477.4678, -4495.7461, 11.22)
ACTOR.Angle(120@) = 131.5194
0085:  npc = 120@ // (int)
05E2: AS_actor 120@ kill_actor player1
gosub @set_4_construction_enemies_rundown
120@ = ACTOR.Create(13, #WMYCON  , -429.7846, -4463.7422, 11.22)
ACTOR.Angle(120@) = 138.53
0085:  npc = 120@ // (int)
05E2: AS_actor 120@ kill_actor player1
gosub @set_4_construction_enemies_rundown
120@ = ACTOR.Create(13, #WMYCONb ,-470.7827, -4448.4561, 11.22 )
ACTOR.Angle(120@) = 89.5431
0085:  npc = 120@ // (int)
05E2: AS_actor 120@ kill_actor player1
gosub @set_4_construction_enemies_rundown
120@ = ACTOR.Create(13, #WMYCONb , -512.0146, -4463.0947, 11.22)
ACTOR.Angle(120@) = 278.406
0085:  npc = 120@ // (int)
05E2: AS_actor 120@ kill_actor player1
gosub @set_4_construction_enemies_rundown
120@ = ACTOR.Create(13, #WMYCONb , -540.2331, -4484.7354, 11.22)
ACTOR.Angle(120@) = 239.1665
0085:  npc = 120@ // (int)
05E2: AS_actor 120@ kill_actor player1
gosub @set_4_construction_enemies_rundown

120@ = ACTOR.Create(13, #WMYCONb , -439.7005, -4545.8311, 18.2039 )
ACTOR.Angle(120@) = 55.8851
0085:  npc = 120@ // (int)
05E2: AS_actor 120@ kill_actor player1
gosub @set_4_construction_enemies_rundown

120@ = ACTOR.Create(13, #WMYCONb , -431.9467, -4543.5664, 17.8288 )
ACTOR.Angle(120@) = 89.1842
0085:  npc = 120@ // (int)
05E2: AS_actor 120@ kill_actor player1
gosub @set_4_construction_enemies_rundown

120@ = ACTOR.Create(13, #WMYCONb , -359.5715, -4556.1426, 11.14 )
ACTOR.Angle(120@) = 85.1335
0085:  npc = 120@ // (int)
05E2: AS_actor 120@ kill_actor player1
gosub  @set_4_construction_enemies
120@ = ACTOR.Create(13, #WMYCONb , -360.0808, -4544.8462, 11.14 )
ACTOR.Angle(120@) = 88.7593
0085:  npc = 120@ // (int)
05E2: AS_actor 120@ kill_actor player1
gosub  @set_4_construction_enemies
120@ = ACTOR.Create(13, #WMYCONb , -374.7623, -4565.978, 11.14 )
ACTOR.Angle(120@) = 7.2193
0085:  npc = 120@ // (int)
05E2: AS_actor 120@ kill_actor player1
gosub  @set_4_construction_enemies
120@ = ACTOR.Create(13, #WMYCONb , -315.1342, -4571.1772, 11.14)
ACTOR.Angle(120@) = 14.5541
0085:  npc = 120@ // (int)
05E2: AS_actor 120@ kill_actor player1
gosub  @set_4_construction_enemies
120@ = ACTOR.Create(13, #WMYCONb , -295.2332, -4558.0249, 11.14 )
ACTOR.Angle(120@) = 141.8581
0085:  npc = 120@ // (int)
05E2: AS_actor 120@ kill_actor player1
gosub  @set_4_construction_enemies
120@ = ACTOR.Create(13, #WMYCONb , -276.267, -4585.375, 11.14 )
ACTOR.Angle(120@) =17.8557 
0085:  npc = 120@ // (int)
05E2: AS_actor 120@ kill_actor player1
gosub  @set_4_construction_enemies
120@ = ACTOR.Create(13, #WMYCONb , -266.9264, -4562.7847, 11.14 )
ACTOR.Angle(120@) = 87.953
0085:  npc = 120@ // (int)
05E2: AS_actor 120@ kill_actor player1
gosub  @set_4_construction_enemies





029B: 12@ = init_object 971 at -474.42001 -4606.6499 12.96 // object (subwaygate) (1)
0453: set_object 12@ XY_rotation 0.0 0.0 angle 270.0
029B: 13@ = init_object 971 at -474.42001 -4615.1001 12.96 // object (subwaygate) (2)
0453: set_object 13@ XY_rotation 0.0 0.0 angle 270.0
029B: 14@ = init_object 971 at -474.42001 -4623.5498 12.96 // object (subwaygate) (33)
0453: set_object 14@ XY_rotation 0.0 0.0 angle 270.0
029B: 15@ = init_object 971 at -474.42001 -4623.5498 19.93 // object (subwaygate) (34)
0453: set_object 15@ XY_rotation 0.0 0.0 angle 270.0
029B: 16@ = init_object 971 at -474.42001 -4614.8799 19.93 // object (subwaygate) (35)
0453: set_object 16@ XY_rotation 0.0 0.0 angle 270.0
029B: 17@ = init_object 971 at -474.42001 -4606.6802 19.93 // object (subwaygate) (36)
0453: set_object 17@ XY_rotation 0.0 0.0 angle 270.0
029B: 18@ = init_object 3577 at -480.0 -4583.5498 10.85 // object (DockCrates1_LA) (105)
0453: set_object 18@ XY_rotation 0.0 0.0 angle 0.0
029B: 19@ = init_object 3577 at -483.0 -4583.5498 10.85 // object (DockCrates1_LA) (106)
0453: set_object 19@ XY_rotation 0.0 0.0 angle 0.0
029B: 20@ = init_object 3577 at -474.79999 -4519.0 10.85 // object (DockCrates1_LA) (107)
0453: set_object 20@ XY_rotation 0.0 0.0 angle 0.0
029B: 21@ = init_object 3577 at -485.97 -4457.6699 10.85 // object (DockCrates1_LA) (108)
0453: set_object 21@ XY_rotation 0.0 0.0 angle 0.0
029B: 22@ = init_object 3577 at -488.97 -4457.6699 10.85 // object (DockCrates1_LA) (109)
0453: set_object 22@ XY_rotation 0.0 0.0 angle 0.0
029B: 23@ = init_object 2990 at -550.33002 -4502.2202 13.72 // object (wongs_gate) (18)
0453: set_object 23@ XY_rotation 0.0 0.0 angle 0.0  
029B: 27@ = init_object 2990 at -540.40997 -4502.2202 13.72 // object (wongs_gate) (19)
0453: set_object 27@ XY_rotation 0.0 0.0 angle 0.0
029B: 28@ = init_object 2990 at -538.46002 -4429.4199 13.72 // object (wongs_gate) (38)
0453: set_object 28@ XY_rotation 0.0 0.0 angle 50.0
029B: 29@ = init_object 2990 at -532.23999 -4421.9502 13.72 // object (wongs_gate) (39)
0453: set_object 29@ XY_rotation 0.0 0.0 angle 49.999
029B: 30@ = init_object 2990 at -526.23999 -4414.8999 13.72 // object (wongs_gate) (40)
0453: set_object 30@ XY_rotation 0.0 0.0 angle 49.999
{
029B: 31@ = init_object 5154 at -409.32001 -4496.7202 12.07 // add this 2
0453: set_object 31@ XY_rotation 0.0 179.995 angle 89.984
029B: 34@ = init_object 5154 at -413.94 -4506.4199 12.07 // added this
0453: set_object 34@ XY_rotation 0.0 179.995 angle 359.984   }
029B: 35@ = init_object 986 at -441.85999 -4543.4199 18.45 // object (gate_autoL) (1)
0453: set_object 35@ XY_rotation 0.0 0.0 angle 270.0
029B: 36@ = init_object 986 at -441.85999 -4550.6401 18.45 // object (gate_autoL) (69)
0453: set_object 36@ XY_rotation 0.0 0.0 angle 270.0
029B: 39@ = init_object 3577 at -431.17999 -4508.0298 11.0 // object (DockCrates1_LA) (110)
0453: set_object 39@ XY_rotation 0.0 0.0 angle 0.0
029B: 40@ = init_object 3577 at -431.17999 -4505.0298 11.0 // object (DockCrates1_LA) (111)
0453: set_object 40@ XY_rotation 0.0 0.0 angle 0.0
029B: 41@ = init_object 2990 at -378.07999 -4465.6899 14.05 // object (wongs_gate) (41)
0453: set_object 41@ XY_rotation 0.0 0.0 angle 89.999
029B: 42@ = init_object 2990 at -378.07999 -4475.6099 14.05 // object (wongs_gate) (42)
0453: set_object 42@ XY_rotation 0.0 0.0 angle 89.995
029B: 43@ = init_object 2990 at -378.07999 -4458.27 14.05 // object (wongs_gate) (43)
0453: set_object 43@ XY_rotation 0.0 0.0 angle 89.995
029B: 44@ = init_object 2990 at -378.07999 -4449.3198 14.05 // object (wongs_gate) (44)
0453: set_object 44@ XY_rotation 0.0 0.0 angle 89.995
029B: 45@ = init_object 2990 at -378.07999 -4440.3999 14.05 // object (wongs_gate) (45)
0453: set_object 45@ XY_rotation 0.0 0.0 angle 89.995
029B: 46@ = init_object 2990 at -378.07999 -4474.1602 20.0 // object (wongs_gate) (46)
0453: set_object 46@ XY_rotation 0.0 0.0 angle 89.995
029B: 47@ = init_object 2990 at -378.07999 -4465.6899 20.0 // object (wongs_gate) (47)
0453: set_object 47@ XY_rotation 0.0 0.0 angle 89.995
029B: 48@ = init_object 2990 at -378.07999 -4456.27 20.0 // object (wongs_gate) (48)
0453: set_object 48@ XY_rotation 0.0 0.0 angle 89.995
029B: 49@ = init_object 2990 at -378.07999 -4447.5698 20.0 // object (wongs_gate) (49)
0453: set_object 49@ XY_rotation 0.0 0.0 angle 89.995
029B: 50@ = init_object 2990 at -378.07999 -4440.1201 20.0 // object (wongs_gate) (50)
0453: set_object 50@ XY_rotation 0.0 0.0 angle 89.995
029B: 51@ = init_object 2990 at -387.04999 -4499.3501 20.73 // object (wongs_gate) (51)
0453: set_object 51@ XY_rotation 0.0 0.0 angle 89.995
029B: 52@ = init_object 2990 at -387.04999 -4508.77 20.73 // object (wongs_gate) (52)
0453: set_object 52@ XY_rotation 0.0 0.0 angle 89.995
029B: 53@ = init_object 1423 at -468.39999 -4512.1401 10.92 // object (DYN_ROADBARRIER_4) (1)
0453: set_object 53@ XY_rotation 0.0 0.0 angle 280.0
029B: 54@ = init_object 1423 at -468.39999 -4509.3901 10.92 // object (DYN_ROADBARRIER_4) (2)
0453: set_object 54@ XY_rotation 0.0 0.0 angle 259.998

0392: make_object 37@ moveable 1
035D: set_object 38@ targetable 1
 show_text_box "Find a way to take that crane down."
while true 
wait 0
gosub @mission
if failed_mission == 1
then
   goto @checkpoint_2
end
    if 0474:   actor $PLAYER_ACTOR near_object_in_cube 38@ radius 7.0 7.0 7.0 sphere 0
    then
      show_text_highpriority "Shoot the switch or throw a grenade." 1
    end
      if 0366:   object 38@  damaged
      then
         repeat
         wait 0 
         gosub @mission
        if failed_mission == 1
        then
           goto @checkpoint_2
        end         
         until 034E: move_object 37@ to  -438.35999 -4532.5 1.78  speed 0.1 0.1 0.6 collision_check 0

          break
      end
      
end
  show_text_box "Find a way to get there, press Y to open gate when see them blocking your path."

while true 
    wait 0
    gosub @mission
    if failed_mission == 1
    then
       goto @checkpoint_2
    end 
    if 00FE:   actor $PLAYER_ACTOR sphere 0 in_sphere -255.3551 -4568.7808 11.14 radius 7.0 7.0 7.0
    then 
        mission_Cleanup
        break 
    end 
      
end


:checkpoint_3
wait 0 

 show_text_box "Chase Big Smoke."

 failed_mission = 0  
 023C: load_special_actor 'smoke' as 1 // models 290-299
 load_requested_models
 
 if 023D:   special_actor 1 loaded
 then
 Big_target = actor.Create(13, #SPECIAL01, -244.0765, -4556.1514, 11.14)
 actor.Angle(Big_target)=283.643
 actor.Health(Big_target) = 50000
  0446: set_actor Big_target dismemberment_possible 0
 0946: set_actor Big_target actions_uninterupted_by_weapon_fire 1
 060B: set_actor Big_target decision_maker_to 32 
 actor.SetWalkStyle( Big_target , "player")
 marker.CreateAboveActor(192@, Big_target)
 set_char_ignore_damage_anims Big_target 1

 else
    goto @checkpoint_3
 end
 0296: unload_special_actor 1
0615: define_AS_pack_begin 555@

 05D3: AS_actor -1  goto_point  -238.6481 -4555.6436 11.14 mode 7 time 9999999 ms // versionA
 05D3: AS_actor -1  goto_point  -237.7601 -4565.377 11.14 mode 7 time 9999999 ms // versionA
 05D3: AS_actor -1  goto_point  -225.08 -4565.2158 11.14 mode 7 time 9999999 ms // versionA
 05D3: AS_actor -1  goto_point -225.5196 -4545.6729 11.14  mode 7 time 9999999 ms // versionA
 05D3: AS_actor -1  goto_point  -203.6677 -4545.8931 11.14 mode 7 time 9999999 ms // versionA
 05D3: AS_actor -1  goto_point  -199.4473 -4545.7842 11.14 mode 7 time 9999999 ms // versionA
 
0616: define_AS_pack_end 555@
0618: assign_actor Big_target to_AS_pack 555@
061B: remove_references_to_AS_pack 555@

120@ = ACTOR.Create(13, #WMYCON ,  -255.0752, -4586.98, 11.14 )
ACTOR.Angle(120@) = 220.5775 
0085:  npc = 120@ // (int) 
gosub  @set_4_construction_enemies
120@ = ACTOR.Create(13, #WMYCONb , -239.1945, -4598.1562, 11.14  )
ACTOR.Angle(120@) = 332.8181 
0085:  npc = 120@ // (int) 
gosub  @set_4_construction_enemies
120@ = ACTOR.Create(13, #WMYCONb ,  -206.4559, -4593.4326, 11.14 )
ACTOR.Angle(120@) =  91.1016
0085:  npc = 120@ // (int) 
gosub  @set_4_construction_enemies
120@ = ACTOR.Create(13, #WMYCONb ,  -224.5241, -4554.437, 11.14 )
ACTOR.Angle(120@) = 10.1695 
0085:  npc = 120@ // (int) 
gosub  @set_4_construction_enemies
120@ = ACTOR.Create(13, #WMYCON , -198.1803, -4549.6509, 11.14  )
ACTOR.Angle(120@) = 45.6213 
0085:  npc = 120@ // (int) 
gosub  @set_4_construction_enemies
120@ = ACTOR.Create(13, #WMYCON ,  -204.4227, -4572.2773, 11.14 )
ACTOR.Angle(120@) = 358.0836 
0085:  npc = 120@ // (int) 
gosub  @set_4_construction_enemies
120@ = ACTOR.Create(13, #WMYCONb ,  -208.19, -4608.9092, 11.14 )
ACTOR.Angle(120@) = 282.3458 
0085:  npc = 120@ // (int) 
gosub  @set_4_construction_enemies
120@ = ACTOR.Create(13, #WMYCONb ,  -169.4464, -4545.5273, 11.14 )
ACTOR.Angle(120@) =  87.3611
0085:  npc = 120@ // (int) 
gosub  @set_4_construction_enemies
120@ = ACTOR.Create(13, #WMYCONb ,   -184.8607, -4575.6982, 11.14)
ACTOR.Angle(120@) =  274.1307
0085:  npc = 120@ // (int) 
gosub  @set_4_construction_enemies
120@ = ACTOR.Create(13, #WMYCONb , -168.4222, -4605.1221, 11.14  )
ACTOR.Angle(120@) =109.9212  
0085:  npc = 120@ // (int) 
gosub  @set_4_construction_enemies
120@ = ACTOR.Create(13, #WMYCON , -163.398, -4638.1338, 11.14  )
ACTOR.Angle(120@) =  107.9067
0085:  npc = 120@ // (int) 
gosub  @set_4_construction_enemies
120@ = ACTOR.Create(13, #WMYCON , -109.5466, -4638.1069, 11.14  )
ACTOR.Angle(120@) = 140.1355 
0085:  npc = 120@ // (int) 
gosub  @set_4_construction_enemies
120@ = ACTOR.Create(13, #WMYCONb , -80.79, -4640.8198, 14.4788  )
ACTOR.Angle(120@) = 140.1355 
0085:  npc = 120@ // (int) 
gosub  @set_4_construction_enemies
120@ = ACTOR.Create(13, #WMYCONb ,  -165.0331, -4637.7607, 17.8288 )
ACTOR.Angle(120@) =  277.673
0085:  npc = 120@ // (int) 
gosub  @set_4_construction_enemies
120@ = ACTOR.Create(13, #WMYCON ,   -155.888, -4617.7861, 17.8288)
ACTOR.Angle(120@) = 88.1665 
0085:  npc = 120@ // (int) 
gosub  @set_4_construction_enemies
120@ = ACTOR.Create(13, #WMYCONb ,   -157.2683, -4563.9346, 17.8288)
ACTOR.Angle(120@) =  121.7244
0085:  npc = 120@ // (int) 
gosub  @set_4_construction_enemies
120@ = ACTOR.Create(13, #WMYCON , -171.8201, -4559.5327, 17.8288  )
ACTOR.Angle(120@) = 241.2537 
0085:  npc = 120@ // (int) 
gosub  @set_4_construction_enemies
120@ = ACTOR.Create(13, #WMYCONb ,  -157.1426, -4529.396, 17.8288 )
ACTOR.Angle(120@) = 170.3501 
0085:  npc = 120@ // (int) 
gosub  @set_4_construction_enemies
120@ = ACTOR.Create(13, #WMYCONb , -180.3291, -4526.6831, 17.8288  )
ACTOR.Angle(120@) = 269.4539 
0085:  npc = 120@ // (int) 
gosub  @set_4_construction_enemies
120@ = ACTOR.Create(13, #WMYCONb , -185.4391, -4503.8271, 18.2711  )
ACTOR.Angle(120@) = 159.8758 
0085:  npc = 120@ // (int) 
gosub  @set_4_construction_enemies
120@ = ACTOR.Create(13, #WMYCON  , -275.8852, -4511.0684, 17.8288  )
ACTOR.Angle(120@) = 269.4539 
0085:  npc = 120@ // (int) 
gosub  @set_4_construction_enemies

const
    big_smoke_pathy = 332@ 
end 
    big_smoke_pathy=0 
    33@ = 0 
while true 
wait 0  

gosub @mission 
    if failed_mission == 1
    then
       goto @checkpoint_3
    end 
if actor.Dead( big_target )
then
    0792: disembark_instantly_actor big_target
    0851: set_actor big_target decrease_health_by -50000 affect_armour 0
    actor.SetImmunities(big_target,1,1,1,1,1 )
end
    if  
    
     failed_mission == 1
    then
      failed_mission = 0  
    0362: remove_actor $PLAYER_ACTOR from_car_and_place_at -263.3537 -4568.1167 11.14
    actor.Angle( $PLAYER_ACTOR ) = 272.6254 
    if coop 
    then
    0362: remove_actor player2 from_car_and_place_at -263.6227 -4569.5244 11.14
    actor.Angle( player2  ) = 272.6254
    
    end     
    goto @checkpoint_3
    end 
       if   and
       0104:   actor $PLAYER_ACTOR near_actor big_target radius 9.0 9.0 9.0 sphere 0 
         big_smoke_pathy == 0 
       then
           if     
           
 
           00FE:   actor  big_target sphere 0 in_sphere  -199.0825 -4544.7266 11.14 radius 7.0 7.0 4.0
           then
            show_text_box "Chase him."

           054E: clear_actor big_target damage
            0615: define_AS_pack_begin 555@
            
             05D3: AS_actor -1  goto_point -199.8348 -4531.6279 11.14 mode 7 time 9999999 ms // versionA 
             05D3: AS_actor -1  goto_point  -175.9565 -4528.8179 11.14 mode 7 time 9999999 ms // versionA 
             05D3: AS_actor -1  goto_point  -175.3662 -4648.5942 11.14 mode 7 time 9999999 ms // versionA 
             05D3: AS_actor -1  goto_point -85.5805 -4648.9609 14.4788  mode 7 time 9999999 ms // versionA 
             05D3: AS_actor -1  goto_point  -86.0988 -4638.7524 14.4788 mode 7 time 9999999 ms // versionA 
             05D3: AS_actor -1  goto_point -118.0802 -4643.3218 17.8288  mode 7 time 9999999 ms // versionA 
             05D3: AS_actor -1  goto_point  -160.1077 -4643.6802 17.8288 mode 7 time 9999999 ms // versionA 
             05D3: AS_actor -1  goto_point  -160.1673 -4617.3589 17.8288 mode 7 time 9999999 ms // versionA 
             
            0616: define_AS_pack_end 555@
            0618: assign_actor Big_target to_AS_pack 555@
            061B: remove_references_to_AS_pack 555@
           big_smoke_pathy +=1 
           wait 100           
           end

       end 
    
       if 
        big_smoke_pathy == 1 
       then
           if   
           
           00FE:   actor  big_target sphere 0 in_sphere  -160.1673 -4617.3589 17.8288 radius 7.0 7.0 4.0
           then
           actor.PutAt( big_target , -163.7643, -4618.0205, 16.8288)
           actor.Angle(big_target) =  16.8925
           054E: clear_actor big_target damage
            0615: define_AS_pack_begin 555@
            
             05D3: AS_actor -1  goto_point -163.7643 -4618.0205 17.8288 mode 7 time 9999999 ms // versionA  
             05D3: AS_actor -1  goto_point -163.7264 -4576.8486 17.8288  mode 7 time 9999999 ms // versionA  
             05D3: AS_actor -1  goto_point -161.0546 -4572.4028 17.8288  mode 7 time 9999999 ms // versionA  
             05D3: AS_actor -1  goto_point -170.0981 -4526.6396 17.8288  mode 7 time 9999999 ms // versionA  
             05D3: AS_actor -1  goto_point -175.7502 -4509.5488 17.8288  mode 7 time 9999999 ms // versionA  
             05D3: AS_actor -1  goto_point -194.0343 -4510.832 17.8288  mode 7 time 9999999 ms // versionA  
             05D3: AS_actor -1  goto_point  -255.9057 -4511.709 17.8288 mode 7 time 9999999 ms // versionA  
             05D3: AS_actor -1  goto_point  -484.15 -4593.3198 11.14 mode 7 time 9999999 ms // versionA  
             
            0616: define_AS_pack_end 555@
            0618: assign_actor Big_target to_AS_pack 555@
            061B: remove_references_to_AS_pack 555@
           big_smoke_pathy +=1 
           wait 100           
           end

       end    
       
    
       if 
        big_smoke_pathy == 2
       then
           if   
           
           00FE:   actor  big_target sphere 0 in_sphere   -265.1192 -4511.8779 17.8288  radius 7.0 7.0 4.0
           then
           actor.PutAt( big_target , -265.1192, -4511.8779, 16.8288)
           actor.Angle(big_target) =  178.0369
           054E: clear_actor big_target damage
            0615: define_AS_pack_begin 555@
            
             05D3: AS_actor -1  goto_point  -265.4667 -4527.7744 17.8288 mode 7 time 9999999 ms // versionA  
            0616: define_AS_pack_end 555@
            0618: assign_actor Big_target to_AS_pack 555@
            061B: remove_references_to_AS_pack 555@
           big_smoke_pathy +=1 
           wait 2000  
           // show_text_box "Big Smoke disappeared!"         
           actor.DestroyInstantly( big_target )
           mission_cleanup
           0395: clear_area 1 at  -73.7624 -4598.1509 17.8288 radius 99999999.0

           jump @checkpoint_4 
           
           end

       end    
       if 33@ > 70000
       then
           fade 0 1000
           wait 1 1000
           fade 1 1000         
           actor.DestroyInstantly( big_target )
           mission_cleanup
           0395: clear_area 1 at  -73.7624 -4598.1509 17.8288 radius 99999999.0

           jump @checkpoint_4 
       end     
end 


:checkpoint_4
0362: remove_actor $PLAYER_ACTOR from_car_and_place_at  -71.3079 -4595.5869 17.8288
actor.Angle( $PLAYER_ACTOR ) =  273.0799
if coop 
then
0362: remove_actor player2 from_car_and_place_at  -73.7624 -4598.1509 17.8288
actor.Angle( player2  ) =  273.0799

end 

:checkpoint_4_to 
wait 0 
191@ = ACTOR.Create(4, #WFYLG ,  -45.0275, -4513.1665, 10.8888)
ACTOR.Angle(191@) =  16.0975
04EB: AS_actor 191@ crouch 1
0812: AS_actor 191@ perform_animation "crckidle1" IFP "CRACK" framedelta 4.0 loopA 1  lockX 0 lockY 0 lockF 0 time -1  // versionB
 
120@ = ACTOR.Create(13, #SWAT , -35.5011, -4704.1294, 12.1587  )
ACTOR.Angle(120@) = 82.2815 
0085:  npc = 120@ // (int) 
gosub  @set_4_swat
120@ = ACTOR.Create(13, #SWAT , -18.8061, -4695.7949, 12.1587  )
ACTOR.Angle(120@) = 127.4019    
0085:  npc = 120@ // (int) 
gosub  @set_4_swat
120@ = ACTOR.Create(13, #SWAT , 17.1213, -4704.79, 10.8588  )
ACTOR.Angle(120@) = 85.9072 
0085:  npc = 120@ // (int) 
gosub  @set_4_swat
120@ = ACTOR.Create(13, #SWAT , 31.7847, -4697.2627, 10.8588  )
ACTOR.Angle(120@) =  104.036
0085:  npc = 120@ // (int) 
gosub  @set_4_swat
120@ = ACTOR.Create(13, #SWAT ,  44.1752, -4705.1396, 10.8588 )
ACTOR.Angle(120@) = 102.0216 
0085:  npc = 120@ // (int) 
gosub  @set_4_swat
120@ = ACTOR.Create(13, #SWAT , 69.0405, -4689.6182, 10.8588  )
ACTOR.Angle(120@) = 191.0538 
0085:  npc = 120@ // (int) 
gosub  @set_4_swat
120@ = ACTOR.Create(13, #SWAT ,   80.7123, -4675.0425, 10.8588)
ACTOR.Angle(120@) =  98.7987
0085:  npc = 120@ // (int) 
gosub  @set_4_swat
120@ = ACTOR.Create(13, #SWAT , 70.4339, -4649.5083, 10.8588  )
ACTOR.Angle(120@) = 189.4424 
0085:  npc = 120@ // (int) 
gosub  @set_4_swat
120@ = ACTOR.Create(13, #SWAT ,  50.0228, -4604.5933, 10.8588 )
ACTOR.Angle(120@) =  206.7654
0085:  npc = 120@ // (int) 
gosub  @set_4_swat
120@ = ACTOR.Create(13, #SWAT ,  49.709, -4618.5176, 10.8588 )
ACTOR.Angle(120@) = 298.6965 
0085:  npc = 120@ // (int) 
gosub  @set_4_swat
120@ = ACTOR.Create(13, #SWAT , 37.7079, -4614.877, 10.8588  )
ACTOR.Angle(120@) = 228.2747 
0085:  npc = 120@ // (int) 
gosub  @set_4_swat
120@ = ACTOR.Create(13, #SWAT , 37.1871, -4632.7583, 10.8588  )
ACTOR.Angle(120@) = 264.6111 
0085:  npc = 120@ // (int) 
gosub  @set_4_swat
120@ = ACTOR.Create(13, #SWAT ,  46.6068, -4626.6704, 10.8588 )
ACTOR.Angle(120@) = 260.8276 
0085:  npc = 120@ // (int) 
gosub  @set_4_swat
120@ = ACTOR.Create(13, #SWAT ,  56.6653, -4630.8335, 10.8588 )
ACTOR.Angle(120@) =  265.662
0085:  npc = 120@ // (int) 
gosub  @set_4_swat
120@ = ACTOR.Create(13, #SWAT , 31.1978, -4591.0137, 10.8588  )
ACTOR.Angle(120@) = 216.837 
0085:  npc = 120@ // (int) 
gosub  @set_4_swat

120@ = ACTOR.Create(13, #SWAT , 38.0637, -4582.9062, 10.8588  )
ACTOR.Angle(120@) =  178.1624
0085:  npc = 120@ // (int) 
gosub  @set_4_swat
120@ = ACTOR.Create(13, #SWAT , 55.8891, -4587.3525, 10.8588  )
ACTOR.Angle(120@) = 268.482 
0085:  npc = 120@ // (int) 
gosub  @set_4_swat
120@ = ACTOR.Create(13, #SWAT ,39.1498, -4547.1162, 10.8588   )
ACTOR.Angle(120@) =  270.978
0085:  npc = 120@ // (int) 
gosub  @set_4_swat
120@ = ACTOR.Create(13, #SWAT ,  19.7173, -4566.2344, 10.8588 )
ACTOR.Angle(120@) =  281.8553
0085:  npc = 120@ // (int) 
gosub  @set_4_swat
120@ = ACTOR.Create(13, #SWAT ,  41.3093, -4551.7275, 10.8588 )
ACTOR.Angle(120@) =  142.9527
0085:  npc = 120@ // (int) 
gosub  @set_4_swat
120@ = ACTOR.Create(13, #SWAT ,36.0329, -4539.4385, 10.8588   )
ACTOR.Angle(120@) =  177.8273
0085:  npc = 120@ // (int) 
gosub  @set_4_swat
120@ = ACTOR.Create(13, #SWAT , 10.5291, -4553.6655, 10.8588  )
ACTOR.Angle(120@) = 248.9528 
0085:  npc = 120@ // (int) 
gosub  @set_4_swat
120@ = ACTOR.Create(13, #SWAT ,  -18.4898, -4553.9355, 10.8588 )
ACTOR.Angle(120@) = 181.1017 
0085:  npc = 120@ // (int) 
gosub  @set_4_swat
120@ = ACTOR.Create(13, #SWAT , -11.9456, -4559.7925, 10.8588  )
ACTOR.Angle(120@) =  266.6703
0085:  npc = 120@ // (int) 
gosub  @set_4_swat
120@ = ACTOR.Create(13, #SWAT , -9.8529, -4588.0352, 10.8588 )
ACTOR.Angle(120@) = 258.5725
0085:  npc = 120@ // (int) 
gosub  @set_4_swat
120@ = ACTOR.Create(13, #SWAT , 2.9868, -4587.5566, 10.8588 )
ACTOR.Angle(120@) = 281.0123
0085:  npc = 120@ // (int) 
gosub  @set_4_swat
120@ = ACTOR.Create(13, #SWAT , -39.6965, -4574.3608, 10.8888 )
ACTOR.Angle(120@) = 87.437
actor_crouch  120@ 1 
0085:  npc = 120@ // (int) 
gosub  @set_4_swat
120@ = ACTOR.Create(13, #SWAT ,  -30.3008, -4539.0513, 10.8888)
ACTOR.Angle(120@) = 91.5247
0085:  npc = 120@ // (int) 
gosub  @set_4_swat
120@ = ACTOR.Create(13, #SWAT , -30.052, -4499.9341, 10.8888 )
ACTOR.Angle(120@) =  163.4748
0085:  npc = 120@ // (int) 
gosub  @set_4_swat
120@ = ACTOR.Create(13, #SWAT , -33.3608, -4482.1655, 10.8888 )
ACTOR.Angle(120@) = 177.8158 
0085:  npc = 120@ // (int) 
gosub  @set_4_swat
120@ = ACTOR.Create(13, #SWAT , -44.6663, -4497.6597, 10.8888 )
ACTOR.Angle(120@) =  186.3546
0085:  npc = 120@ // (int) 
gosub  @set_4_swat

   const
      Goto_paths  = 333@ 
   end 
   Goto_paths = 0 
    018A: waypoint_marker = create_checkpoint_at  -51.1213 -4680.8096 13.8494
    show_text_box "Big Smoke disappeared, the fatman must be behind this. Find him!"
while true
wait 0
    gosub @mission
      
    if failed_mission == 1
    then
       goto @checkpoint_4
    end 
    /////MARKER///////////////////////////////////
        if and
        00FE:   actor $PLAYER_ACTOR sphere 0 in_sphere -51.1213 -4680.8096 13.8494  radius 7.0 7.0 7.0
         Goto_paths == 0  
        then
           
            marker.Disable( waypoint_marker )
             018A: waypoint_marker = create_checkpoint_at  67.4342 -4652.5464 11.0717
            Goto_paths += 1
            show_text_box "Find a way to get down there, press Y to open the gates."
            wait 100
        end 
        if and
        00FE:   actor $PLAYER_ACTOR sphere 0 in_sphere 67.4342 -4652.5464 11.0717 radius 15.0 15.0 15.0
         Goto_paths == 0  
        then
           
            marker.Disable( waypoint_marker )
             018A: waypoint_marker = create_checkpoint_at  -45.0275 -4513.1665 10.8888
            Goto_paths += 1
             show_text_box "Find the Big Smoke."
            wait 100
        end 
     ///////////////////////////////
     if actor.Dead(191@ )
     then
          failed_mission  = 1
          show_styled_text "~r~You kill a poor ped." 3000 5
     end 
     if  0104:   actor $PLAYER_ACTOR near_actor 191@ radius 2.0 2.0 2.0 sphere 0

     then
        show_text_highpriority "Big Smoke gonna be in the other side of the mall." 3000
        0812: AS_actor $PLAYER_ACTOR perform_animation "BOM_Plant" IFP "BOMBER" framedelta 4.0 loopA 0 lockX 0 lockY 0 lockF 0 time -1  // versionB
         wait 3000
         fade 1 1000
         wait 1000
         fade 0 1000
         mission_cleanup
         0395: clear_area 1 at -161.7953 -4571.583 17.8288 radius 999999999.0

         break        
     end    
end 
  show_styled_text "~w~Mission passed!" 3000 5
  
:checkpoint_5
wait 0 
0362: remove_actor $PLAYER_ACTOR from_car_and_place_at  67.9246 -4589.896 10.8588
actor.Angle( $PLAYER_ACTOR ) = 274.6356
if coop 
then
0362: remove_actor player2 from_car_and_place_at  68.4682 -4590.9487 10.8588
actor.Angle( player2  ) =  274.6356

end 
 show_text_box "Chase Big Smoke."
 
 failed_mission = 0  
 023C: load_special_actor 'smoke' as 1 // models 290-299
 load_requested_models
 
 if 023D:   special_actor 1 loaded
 then
 Big_target = actor.Create(13, #SPECIAL01, 134.395, -4610.3564, 10.8588)
 actor.Angle(Big_target)= 83.0315
 actor.Health(Big_target) = 30000
 actor.SetImmunities( Big_target , 0,1,0,0,0)
  0446: set_actor Big_target dismemberment_possible 0
 0946: set_actor Big_target actions_uninterupted_by_weapon_fire 1
 //060B: set_actor Big_target decision_maker_to 32 
 actor.SetWalkStyle( Big_target , "player")
 marker.CreateAboveActor(192@, Big_target)
 set_char_ignore_damage_anims Big_target 1
 077A: set_actor Big_target acquaintance 4 to_actors_pedtype 0 // see ped.dat
 077A: set_actor Big_target acquaintance 4 to_actors_pedtype 5 // see ped.dat
 077A: set_actor Big_target acquaintance 4 to_actors_pedtype 1 // see ped.dat
 077A: set_actor Big_target acquaintance 4 to_actors_pedtype 4 // see ped.dat
 077A: set_actor Big_target acquaintance 4 to_actors_pedtype 6 // see ped.dat
  077A: set_actor Big_target acquaintance 4 to_actors_pedtype 8 // see ped.dat

 else
    goto @checkpoint_5
 end
 0296: unload_special_actor 1
 
 show_text_box "Kill Big Smoke."  
while true
wait 0
    gosub @mission
      
    if failed_mission == 1
    then
       goto @checkpoint_5
    end     
    if actor.Dead( Big_target )
    then
         goto @cleanup
    end
end 



///////////////////////
:set_4_cops 

0209: 777@ = random_int_in_ranges 300 401
actor.Health(NPC)=777@
0209: 777@ = random_int_in_ranges 40 75
actor.WeaponAccuracy(NPC)=777@
actor.SetWalkStyle(NPC, "PLAYER")
0446: set_actor NPC dismemberment_possible 0
//0946: set_actor NPC actions_uninterupted_by_weapon_fire 1
04D8: set_actor   NPC drowns_in_water 0
0209: 777@ = random_int_in_ranges 40 75
07DD: set_actor   NPC  attack_rate 777@ // previously known as temper_to
060B: set_actor NPC decision_maker_to 311@

077A: set_actor NPC acquaintance 4 to_actors_pedtype 0 // see ped.dat
077A: set_actor NPC acquaintance 4 to_actors_pedtype 1 // see ped.dat
077A: set_actor NPC acquaintance 4 to_actors_pedtype 6 // see ped.dat
077A: set_actor NPC acquaintance 4 to_actors_pedtype 4 // see ped.dat
077A: set_actor NPC acquaintance 4 to_actors_pedtype 5 // see ped.dat
077A: set_actor NPC acquaintance 4 to_actors_pedtype 8 // see ped.dat
09B5: set_actor NPC signal_after_kill 0
07FE: set_actor NPC fighting_style_to 5 moves 6
0816: set_actor NPC dont_chase_victim 1

0209: 777@ = random_int_in_ranges 0 3
if 777@==0
then
   actor.GiveWeaponAndAmmo(NPC,pistol,99999)
   081A: set_actor NPC weapon_skill_to 3 
end
if 777@==1
then
   actor.GiveWeaponAndAmmo(NPC,DesertEagle,99999)
end
if 777@==2
then
   actor.GiveWeaponAndAmmo(NPC,Shotgun,99999)
end
//0961: set_actor NPC keep_tasks_after_cleanup 1  

RETURN 


:set_4_construction_enemies 

0209: 777@ = random_int_in_ranges 300 501
actor.Health(NPC)=777@
0209: 777@ = random_int_in_ranges 56 82
actor.WeaponAccuracy(NPC)=777@
actor.SetWalkStyle(NPC, "PLAYER")
0446: set_actor NPC dismemberment_possible 0
//0946: set_actor NPC actions_uninterupted_by_weapon_fire 1
04D8: set_actor   NPC drowns_in_water 0
0209: 777@ = random_int_in_ranges 50 80
07DD: set_actor   NPC  attack_rate 777@ // previously known as temper_to
060B: set_actor NPC decision_maker_to 311@

077A: set_actor NPC acquaintance 4 to_actors_pedtype 0 // see ped.dat
077A: set_actor NPC acquaintance 4 to_actors_pedtype 1 // see ped.dat
077A: set_actor NPC acquaintance 4 to_actors_pedtype 6 // see ped.dat
077A: set_actor NPC acquaintance 4 to_actors_pedtype 4 // see ped.dat
077A: set_actor NPC acquaintance 4 to_actors_pedtype 5 // see ped.dat
077A: set_actor NPC acquaintance 4 to_actors_pedtype 8 // see ped.dat
09B5: set_actor NPC signal_after_kill 0
07FE: set_actor NPC fighting_style_to 7 moves 6
0816: set_actor NPC dont_chase_victim 1

0209: 777@ = random_int_in_ranges 0 6
if 777@==0
then
   actor.GiveWeaponAndAmmo(NPC,pistol,99999)
   081A: set_actor NPC weapon_skill_to 3 
end
if 777@==1
then
   actor.GiveWeaponAndAmmo(NPC,DesertEagle,99999)
end
if 777@==2
then
   actor.GiveWeaponAndAmmo(NPC,Shotgun,99999)
end
if 777@==3
then
   actor.GiveWeaponAndAmmo(NPC,ak47,99999)
end
if 777@==4
then
   actor.GiveWeaponAndAmmo(NPC,sawnoff,99999)
end
if 777@==5
then
   actor.GiveWeaponAndAmmo(NPC,tec9,99999)
end
//0961: set_actor NPC keep_tasks_after_cleanup 1  

RETURN 

////////////////////////Setups/////////////////////////
:set_4_construction_enemies_rundown 

0209: 777@ = random_int_in_ranges 300 501
actor.Health(NPC)=777@
0209: 777@ = random_int_in_ranges 56 82
actor.WeaponAccuracy(NPC)=777@
actor.SetWalkStyle(NPC, "PLAYER")
0446: set_actor NPC dismemberment_possible 0
//0946: set_actor NPC actions_uninterupted_by_weapon_fire 1
04D8: set_actor   NPC drowns_in_water 0
0209: 777@ = random_int_in_ranges 50 80
07DD: set_actor   NPC  attack_rate 777@ // previously known as temper_to
060B: set_actor NPC decision_maker_to 311@

077A: set_actor NPC acquaintance 4 to_actors_pedtype 0 // see ped.dat
077A: set_actor NPC acquaintance 4 to_actors_pedtype 1 // see ped.dat
077A: set_actor NPC acquaintance 4 to_actors_pedtype 6 // see ped.dat
077A: set_actor NPC acquaintance 4 to_actors_pedtype 4 // see ped.dat
077A: set_actor NPC acquaintance 4 to_actors_pedtype 5 // see ped.dat
077A: set_actor NPC acquaintance 4 to_actors_pedtype 8 // see ped.dat
09B5: set_actor NPC signal_after_kill 0
07FE: set_actor NPC fighting_style_to 7 moves 6
0816: set_actor NPC dont_chase_victim 1

0209: 777@ = random_int_in_ranges 0 6
if 777@==0
then
   actor.GiveWeaponAndAmmo(NPC,ak47,99999) 
end
if 777@==1
then
   actor.GiveWeaponAndAmmo(NPC,ak47,99999)
end
if 777@==2
then
   actor.GiveWeaponAndAmmo(NPC,ak47,99999)
end
if 777@==3
then
   actor.GiveWeaponAndAmmo(NPC,tec9,99999)
end
if 777@==4
then
   actor.GiveWeaponAndAmmo(NPC,shotgun,99999)
end
if 777@==5
then
   actor.GiveWeaponAndAmmo(NPC,tec9,99999)
end
//0961: set_actor NPC keep_tasks_after_cleanup 1  

RETURN 
:set_4_construction_snipers

0209: 777@ = random_int_in_ranges 300 501
actor.Health(NPC)=777@
0209: 777@ = random_int_in_ranges 56 82
actor.WeaponAccuracy(NPC)=777@
actor.SetWalkStyle(NPC, "PLAYER")
0446: set_actor NPC dismemberment_possible 0
0946: set_actor NPC actions_uninterupted_by_weapon_fire 1
04D8: set_actor   NPC drowns_in_water 0
0209: 777@ = random_int_in_ranges 50 80
07DD: set_actor   NPC  attack_rate 777@ // previously known as temper_to
060B: set_actor NPC decision_maker_to 311@
0638: AS_actor NPC stay_put 1

077A: set_actor NPC acquaintance 4 to_actors_pedtype 0 // see ped.dat
077A: set_actor NPC acquaintance 4 to_actors_pedtype 1 // see ped.dat
077A: set_actor NPC acquaintance 4 to_actors_pedtype 6 // see ped.dat
077A: set_actor NPC acquaintance 4 to_actors_pedtype 4 // see ped.dat
077A: set_actor NPC acquaintance 4 to_actors_pedtype 5 // see ped.dat
077A: set_actor NPC acquaintance 4 to_actors_pedtype 8 // see ped.dat
09B5: set_actor NPC signal_after_kill 0
07FE: set_actor NPC fighting_style_to 7 moves 6
0816: set_actor NPC dont_chase_victim 1
 actor.GiveWeaponAndAmmo(NPC,SniperRifle,99999)
 
return 


:set_4_swat
IF 
is_actor_defined NPC
 return_if_false
0209: 777@ = random_int_in_ranges 400 501
actor.Health(NPC)=777@
0209: 777@ = random_int_in_ranges 7 82
actor.WeaponAccuracy(NPC)=777@
actor.SetWalkStyle(NPC, "PLAYER")
0446: set_actor NPC dismemberment_possible 0
0946: set_actor NPC actions_uninterupted_by_weapon_fire 1
04D8: set_actor   NPC drowns_in_water 0
0209: 777@ = random_int_in_ranges 80 98
07DD: set_actor   NPC  attack_rate 777@ // previously known as temper_to
060B: set_actor NPC decision_maker_to 311@ 

077A: set_actor NPC acquaintance 4 to_actors_pedtype 0 // see ped.dat
077A: set_actor NPC acquaintance 4 to_actors_pedtype 1 // see ped.dat
077A: set_actor NPC acquaintance 4 to_actors_pedtype 6 // see ped.dat
077A: set_actor NPC acquaintance 4 to_actors_pedtype 4 // see ped.dat
077A: set_actor NPC acquaintance 4 to_actors_pedtype 5 // see ped.dat
077A: set_actor NPC acquaintance 4 to_actors_pedtype 8 // see ped.dat
09B5: set_actor NPC signal_after_kill 0
07FE: set_actor NPC fighting_style_to 7 moves 6
0816: set_actor NPC dont_chase_victim 1

0209: 777@ = random_int_in_ranges 0 1
if 777@==0
then
   actor.GiveWeaponAndAmmo(NPC,m4 ,99999) 
end
if 777@==1
then
   actor.GiveWeaponAndAmmo(NPC,mp5 ,99999)
end
 
return 

:mission
Player1_health=actor.Health($PLAYER_ACTOR)
       if or 
        Player1_health <= 0 
        actor.Dead($PLAYER_ACTOR)
       then
          
          show_styled_text "~r~Mission Failed!" 3100 5 
          wait 100
          show_text_highpriority "~r~You died!" 3000
          :towards 
          Failed_mission = true
          marker.Disable(waypoint_marker)
          fade 0 1000
          wait 1000
          fade 1 1000
          mission_cleanup
          return
       end
       if coop
       then
          Player2_health=actor.Health(player2)
           if or
            Player2_health <= 0 
            actor.Dead(player2)
           then     
          show_styled_text "~r~Mission Failed!" 3100 5 
          wait 100
          show_text_highpriority "~r~Partner died!" 3000           
                
              goto @towards 
           end 
          
       end
       if  cheat "exit"
       then
           goto @cleanup
           
       end 
return 
:cleanup
 animation_release "BOMBER"
  animation_release   "CRACK"
  if marker_enabled waypoint_marker
 then
    Marker.Disable(waypoint_marker)
 end
mission_cleanup
end_Thread